ديف أوبس

نشر تطبيق Laravel على Heroku

نشر تطبيق Laravel على منصة Heroku

تعد منصة Heroku واحدة من أكثر منصات السحابة شهرة واستخدامًا في عالم تطوير البرمجيات، حيث توفر بيئة قابلة للتوسع بشكل آلي، كما تسمح للمطورين بنشر التطبيقات على الخوادم السحابية دون الحاجة إلى إدارة البنية التحتية. يختار العديد من المطورين Heroku لما توفره من مرونة وسهولة في نشر التطبيقات باستخدام تقنيات مختلفة. وفي هذا المقال، سوف نتناول كيفية نشر تطبيق Laravel على Heroku، وهي إحدى أشهر تقنيات تطوير التطبيقات باستخدام PHP.

ما هو تطبيق Laravel؟

Laravel هو إطار عمل مفتوح المصدر لتطوير تطبيقات الويب باستخدام لغة PHP. يتميز بالعديد من الخصائص التي تسهل عملية تطوير التطبيقات المعقدة مثل التحقق من البيانات، إدارة قواعد البيانات، التوجيه، توفير أدوات أمان متقدمة، و التعامل مع الطلبات المتعددة. يتيح Laravel للمطورين بناء تطبيقات ويب قوية ومرنة بسرعة، مع تقليل الجهد المطلوب لتنفيذ المهام المتكررة.

ما هو Heroku؟

Heroku هو عبارة عن منصة سحابية (PaaS – Platform as a Service) تتيح للمطورين نشر التطبيقات وتشغيلها بسرعة، بغض النظر عن البيئة أو الأدوات التي يستخدمونها. يمكن استخدام Heroku مع العديد من لغات البرمجة مثل Ruby، Node.js، PHP، Python، Java وغيرها، مما يجعله خيارًا ممتازًا للمطورين في العديد من المجالات. تتمثل أكبر ميزة في Heroku في إدارة البنية التحتية بشكل كامل، مما يسمح للمطورين بالتركيز فقط على الكود دون القلق بشأن الصيانة أو التوسيع.

خطوات نشر تطبيق Laravel على Heroku

العملية بشكل عام تتطلب بعض الخطوات الأساسية لضبط بيئة التطبيق على Heroku وضمان تشغيله بشكل صحيح. دعونا نمر عبر كل خطوة بالتفصيل:

1. تحضير بيئة العمل

قبل البدء في نشر تطبيق Laravel على Heroku، تأكد من أنك قد قمت بإعداد بيئة العمل على جهازك المحلي. يجب أن تتأكد من أن الأدوات التالية موجودة على جهازك:

  • PHP: يمكنك التأكد من تثبيت PHP عبر الأمر php -v في سطر الأوامر.

  • Composer: وهو أداة لإدارة مكتبات PHP. يمكن التحقق من وجوده عبر الأمر composer -v.

  • Git: أداة لإدارة الإصدارات، يمكنك التحقق من وجودها عبر الأمر git --version.

  • Heroku CLI: أداة سطر الأوامر الخاصة بـ Heroku لإدارة التطبيقات على المنصة، يمكنك تثبيتها من خلال زيارة موقع Heroku.

2. إعداد التطبيق المحلي

إذا كان لديك تطبيق Laravel محلي جاهز، فتأكد من أن جميع الإعدادات الخاصة به سليمة، مثل إعدادات .env الخاصة بقاعدة البيانات.

  • تأكد من إضافة .env في Gitignore لكي لا يتم رفعه إلى Heroku.

  • قم بضبط إعدادات البيئة الإنتاجية في ملف .env (مثل APP_ENV=production).

  • قم بإعداد قاعدة البيانات بحيث تستخدم Heroku Postgres بدلاً من قاعدة البيانات المحلية إذا كنت تستخدم قاعدة بيانات.

3. إعداد Procfile

في منصة Heroku، لا يتم تحديد كيف يجب أن يعمل التطبيق تلقائيًا. لذلك، تحتاج إلى إنشاء ملف يسمى Procfile في الجذر (root) الخاص بمشروع Laravel. هذا الملف يخبر Heroku كيفية تشغيل التطبيق. يجب أن يحتوي على السطر التالي:

swift
web: vendor/bin/heroku-php-apache2 public/

هذا يعني أن Heroku سيستخدم Apache لتشغيل التطبيق من خلال المسار public/.

4. إضافة Heroku Remote إلى Git

بعد تجهيز تطبيق Laravel محليًا، يجب أن تضيف Heroku Remote إلى مستودع Git الخاص بالتطبيق. لتقوم بذلك، ابدأ أولاً في تهيئة مستودع Git إذا لم يكن قد تم تهيئته بعد:

bash
git init

ثم، قم بتسجيل الدخول إلى Heroku CLI باستخدام الأمر:

bash
heroku login

سيطلب منك Heroku CLI إدخال بيانات اعتماد حسابك، وبعد ذلك ستتمكن من الوصول إلى كافة التطبيقات.

بعد تسجيل الدخول، قم بإنشاء تطبيق جديد على Heroku:

bash
heroku create

سيتولى Heroku تحديد اسم التطبيق وتوفير عنوان URL له، بالإضافة إلى إعداد Git Remote تلقائيًا لهذا التطبيق. في حال كنت ترغب في تحديد اسم للتطبيق يدويًا، يمكنك تحديد الاسم عند تنفيذ الأمر:

bash
heroku create my-laravel-app

5. نشر التطبيق على Heroku

الخطوة التالية هي نشر التطبيق باستخدام Git. ابدأ أولاً بإضافة التغييرات إلى Git باستخدام الأوامر:

bash
git add . git commit -m "Initial commit"

ثم، قم بدفع التغييرات إلى Heroku باستخدام:

bash
git push heroku master

سيقوم Heroku بتحويل الكود إلى بيئة الإنتاج وتثبيت التبعيات مثل Composer.

6. إعداد قاعدة البيانات

إذا كنت تستخدم قاعدة بيانات PostgreSQL في Heroku، يمكن إضافتها عبر سطر الأوامر:

bash
heroku addons:create heroku-postgresql:hobby-dev

بعد إضافة قاعدة البيانات، ستحتاج إلى تشغيل الترحيلات (migrations) لتحديث قاعدة البيانات وفقًا للهيكل الجديد للتطبيق. للقيام بذلك، يمكنك استخدام الأمر التالي:

bash
heroku run php artisan migrate

7. تكوين التخزين (Storage)

في بعض الأحيان، قد تحتاج إلى تكوين التخزين المحلي ليعمل بشكل صحيح على Heroku. وذلك لأن Heroku لا يتيح التخزين الدائم في النظام المحلي. يتم حفظ البيانات فقط في الذاكرة المؤقتة، لذا فإن كل ما تقوم بتخزينه سيختفي إذا تم إعادة تشغيل التطبيق.

لحل هذه المشكلة، يمكنك استخدام Amazon S3 أو Cloudinary أو أي خدمة تخزين سحابية أخرى. بعد اختيار الخدمة المناسبة، قم بتعديل إعدادات .env لتشمل مفاتيح API الخاصة بالخدمة.

8. تكوين البريد الإلكتروني

في حالة الحاجة إلى إرسال رسائل بريد إلكتروني من تطبيقك، يمكنك استخدام خدمة مثل Mailgun أو SendGrid، اللتين تدعمان Heroku بشكل كامل.

قم بتثبيت Mailgun عبر:

bash
heroku addons:create mailgun

ثم، قم بتعديل إعدادات البريد في .env لتضمين بيانات الاتصال الخاصة بخدمة Mailgun.

9. مراقبة التطبيق

بعد نشر التطبيق، يمكنك مراقبته عبر Heroku Logs:

bash
heroku logs --tail

سيساعدك هذا في متابعة أي أخطاء أو مشكلات تظهر أثناء تشغيل التطبيق.

الخاتمة

لقد قمنا في هذا المقال بشرح خطوة بخطوة كيفية نشر تطبيق Laravel على منصة Heroku. من خلال هذه العملية، يمكن للمطورين بسهولة نشر تطبيقاتهم وإدارتها باستخدام أدوات Heroku السحابية. تعد Heroku خيارًا ممتازًا للمطورين الذين يرغبون في التركيز على تطوير التطبيقات دون الحاجة للقلق بشأن إدارة الخوادم أو البنية التحتية.